Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>ZPE Programming Environment</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/ZPE_Programming_Environment"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-ZPE_Programming_Environment rootpage-ZPE_Programming_Environment skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">ZPE Programming Environment</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1295905060">
/* start https://en.wikipedia.org/ */


.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}


/* end https://en.wikipedia.org/ */
</style><table class="infobox vevent"><tbody><tr><th colspan="2" class="infobox-above" style="background-color:#e0e0e0;">YASS</th></tr><tr><td colspan="2" class="infobox-image"><span typeof="mw:File"></span><div class="infobox-caption">ZPE logo</div></td></tr><tr><th scope="row" class="infobox-label"><a href="Programming_paradigm" title="Programming paradigm">Paradigm</a></th><td class="infobox-data"><a href="Imperative_programming" title="Imperative programming">Imperative</a>, <a href="Functional_programming" title="Functional programming">functional</a>, <a href="Object-oriented_programming" title="Object-oriented programming">object-oriented</a>, <a href="Procedural_programming" title="Procedural programming">procedural</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_design" title="Software design">Designed&nbsp;by</a></th><td class="infobox-data"><a rel="nofollow" class="external text" href="https://www.jamiebalfour.scot/">Jamie Balfour</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_developer" class="mw-redirect" title="Software developer">Developer</a></th><td class="infobox-data organiser"><a rel="nofollow" class="external text" href="https://www.jamiebalfour.scot/">Jamie Balfour</a></td></tr><tr><th scope="row" class="infobox-label">First&nbsp;appeared</th><td class="infobox-data">2015<span style="display:none">&nbsp;(<span class="bday dtstart published updated">2015</span>)</span><sup id="cite_ref-official_docs_1-0" class="reference"><a href="#cite_note-official_docs-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></td></tr><tr><td colspan="2" class="infobox-full-data"></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Software_release_life_cycle" title="Software release life cycle">Stable release</a></th><td class="infobox-data"><div style="margin:0px;">1.12.12 <sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
/ November&nbsp;1, 2024<span style="display:none">&nbsp;(<span class="bday dtstart published updated">2024-11-01</span>)</span></div></td></tr><tr style="display:none"><td colspan="2">
</td></tr><tr><th scope="row" class="infobox-label"><a href="Type_system" title="Type system">Typing discipline</a></th><td class="infobox-data"><a href="Dynamic_typing" class="mw-redirect" title="Dynamic typing">Dynamic</a>, <a href="Static_typing" class="mw-redirect" title="Static typing">static</a>, <a href="Weak_typing" class="mw-redirect" title="Weak typing">weak</a>, <a href="Strong_typing" class="mw-redirect" title="Strong typing">strong</a>, <a href="Gradual_typing" title="Gradual typing">gradual</a><sup id="cite_ref-what_is_3-0" class="reference"><a href="#cite_note-what_is-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup></td></tr><tr><th scope="row" class="infobox-label">Implementation language</th><td class="infobox-data"><a href="Java_(programming_language)" title="Java (programming language)">Java</a>, <a href="YASS_(programming_language)" class="mw-redirect" title="YASS (programming language)">YASS</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Computing_platform" title="Computing platform">Platform</a></th><td class="infobox-data">Cross-platform</td></tr><tr><th scope="row" class="infobox-label"><a href="Operating_system" title="Operating system">OS</a></th><td class="infobox-data"><a href="Unix-like" title="Unix-like">Unix-like</a>, <a href="Windows" class="mw-redirect" title="Windows">Windows</a>, <a href="MacOS" title="MacOS">macOS</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Filename_extension" title="Filename extension">Filename extensions</a></th><td class="infobox-data">.yas .yex</td></tr><tr><th scope="row" class="infobox-label">Website</th><td class="infobox-data"><a rel="nofollow" class="external free" href="https://www.jamiebalfour.scot/projects/zpe/">https://www.jamiebalfour.scot/projects/zpe/</a></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Influenced by</th></tr><tr><td colspan="2" class="infobox-full-data"><a href="C_(programming_language)" title="C (programming language)">C</a>, <a href="PHP" title="PHP">PHP</a>, <a href="Java_(programming_language)" title="Java (programming language)">Java</a>, <a href="JavaScript" title="JavaScript">JavaScript</a>, <a href="VB.NET" class="mw-redirect" title="VB.NET">VB.NET</a>, <a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, <a href="Standard_ML" title="Standard ML">SML</a>, <a href="Python_(programming_language)" title="Python (programming language)">Python</a><sup id="cite_ref-what_is_3-1" class="reference"><a href="#cite_note-what_is-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup></td></tr></tbody></table>
<p><b>ZPE Programming Environment</b> (or simply <b>ZPE</b>), formerly the Zenith Parsing Engine, is a general-purpose <a href="Compiler" title="Compiler">compiler</a>, <a href="Parser" class="mw-redirect" title="Parser">parser</a> and <a href="Runtime_system" title="Runtime system">runtime environment</a> for the <b>YASS programming language</b> designed for educational use as well as for its general use. The language it interprets, YASS, is an <a href="Interpreted_language" class="mw-redirect" title="Interpreted language">interpreted</a>, <a href="High-level_programming_language" title="High-level programming language">high-level</a>, <a href="General-purpose_programming_language" title="General-purpose programming language">general-purpose</a> <a href="Programming_language" title="Programming language">programming language</a>. YASS is largely built upon making the language easy to read and use, with optional support for syntaxes such as <a href="List_of_programming_languages_by_type#Curly-bracket_languages" title="List of programming languages by type">curly-bracket syntax</a>. YASS supports <a href="Dynamic_typing" class="mw-redirect" title="Dynamic typing">dynamic typing</a> or <a href="Static_typing" class="mw-redirect" title="Static typing">static typing</a>, as well as <a href="Strong_typing" class="mw-redirect" title="Strong typing">strong typing</a> and <a href="Weak_typing" class="mw-redirect" title="Weak typing">weak typing</a>.
</p><p>It was started in May 2015 as a planned university project but was later changed to be a replacement for another programming language developing at the time known as BlackRabbit Script, also built by Jamie Balfour. ZPE and YASS were designed to help with the automation of scripts by clearing up the inconsistent syntaxes of other scripting languages.<sup id="cite_ref-what_is_3-2" class="reference"><a href="#cite_note-what_is-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> The Zenith Parsing Engine (formerly ZenithParser) powers the underlying parsers, including the <a href="Comma-separated_values" title="Comma-separated values">CSV</a>, <a href="INI_file" title="INI file">INI</a>, <a href="JSON" title="JSON">JSON</a>, <a href="TOML" title="TOML">TOML</a> and <a href="XML" title="XML">XML</a> parsers.
</p><p>The ZPE Programming Environment is written in Java, making it <a href="Cross-platform" class="mw-redirect" title="Cross-platform">cross-platform</a>. As a side effect, specific plugins and built-in objects are entirely written in Java.
</p><p>Whilst ZPE is <a href="Closed_source" class="mw-redirect" title="Closed source">closed source</a>, all plugins, transpilers and additional tools are <a href="Open-source" class="mw-redirect" title="Open-source">open-source</a>. The Standard Algorithms library is also open-source and available on Balfour's GitHub page.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="YASS">YASS</h2></div>
<p>The language interpreted by the ZPE runtime is known as YASS or Yet Another Simple Syntax.<sup id="cite_ref-docs_4-0" class="reference"><a href="#cite_note-docs-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> YASS is a <a href="Turing_completeness" title="Turing completeness">Turing-complete</a> programming language and features the usual constructs and expressions of programming languages. Several languages influenced the YASS syntax, including <a href="C_(programming_language)" title="C (programming language)">C</a>, <a href="PHP" title="PHP">PHP</a>, <a href="Java_(programming_language)" title="Java (programming language)">Java</a>, <a href="JavaScript" title="JavaScript">JavaScript</a>, <a href="VB.NET" class="mw-redirect" title="VB.NET">VB.NET</a>, <a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, <a href="Standard_ML" title="Standard ML">SML</a> and <a href="Python_(programming_language)" title="Python (programming language)">Python</a><sup id="cite_ref-what_is_3-3" class="reference"><a href="#cite_note-what_is-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> which has remained largely the same since about version 1.5. ZPE/YASS can be used for general-purpose programming, support client and server communications, and server-side scripting. Some websites are already using ZPE alongside other languages such as PHP.<sup id="cite_ref-ifra_5-0" class="reference"><a href="#cite_note-ifra-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p><p>YASS can also be transpiled to other languages such as Python and PHP.<sup id="cite_ref-python-transpiler_6-0" class="reference"><a href="#cite_note-python-transpiler-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Features">Features</h2></div>
<p>ZPE features many built-in functions including functions that simplify mathematical problems such as the <code>greater_than_all</code> function, the <code>to_binary</code>, <code>to_octal</code> and <code>to_hexadecimal</code> functions as well as many functions to streamline processing of arrays such as <code>list_process</code>, <code>list_find_duplicates</code> and <code>list_auto_populate</code>. ZPE also features a parser known as the Zenith Parser Engine, which forms the foundation of the whole language processor and performs both <a href="Lexical_analysis" title="Lexical analysis">lexical analysis</a> and <a href="Compiler_optimisation" class="mw-redirect" title="Compiler optimisation">compiler optimisation</a> on textual input.
</p><p>A documentation section on the original subsite dedicated to ZPE documents all language constructs, internal functions and syntax.<sup id="cite_ref-docs_4-1" class="reference"><a href="#cite_note-docs-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p><p>ZPE was initially built as a planned university project that never came to fruition. Ultimately, it was eventually used as the replacement for the BlackRabbit Script language that Balfour was developing at the time.
</p>
<div class="mw-heading mw-heading3"><h3 id="Syntax">Syntax</h3></div>
<p>Much like PHP and Perl, two languages that inspired YASS, variables start with a <code>$</code> sign in YASS.
</p>
<div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span class="nv">$x</span> <span class="o">=</span> <span class="mi">10</span>
<span class="nv">$x</span> <span class="o">=</span> <span class="nv">$x</span> <span class="o">+</span> <span class="mi">5</span>

<span class="k">print</span><span class="p">(</span><span class="nv">$x</span><span class="p">)</span>
</pre></div>
<p>Later versions of ZPE and YASS support $-unbound variable declaration. ZPE and YASS also support a mix of strong typing and weak typing in the same script:
</p>
<div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span class="nv">$x</span> <span class="o">=</span> <span class="mi">10</span>
<span class="k">declare</span> <span class="nx">y</span> <span class="k">as</span> <span class="nx">number</span> <span class="o">=</span> <span class="mi">10</span>

<span class="k">print</span><span class="p">(</span><span class="nv">$x</span><span class="p">)</span>
<span class="k">print</span><span class="p">(</span><span class="nx">y</span><span class="p">)</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="LAME">LAME</h3></div>
<p>LAME, or Logical and Mathematical Evaluator, is a ZPE feature that can parse and evaluate expressions involving logic and mathematics. It was developed in 2019 to replace LAMP, which replaced RMM. ZPE originally had no mathematical parser, meaning functions were used for addition, subtraction, division and multiplication. An example of this early syntax that has existed since version 1.3:
</p>
<div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span class="nv">$x</span> <span class="o">=</span> <span class="mi">10</span>
<span class="nv">$y</span> <span class="o">=</span> <span class="mi">15</span>

<span class="nv">$z</span> <span class="o">=</span> <span class="nx">add</span><span class="p">(</span><span class="nv">$x</span><span class="p">,</span> <span class="nv">$y</span><span class="p">)</span>

<span class="k">print</span><span class="p">(</span><span class="nv">$z</span><span class="p">)</span>
</pre></div>
<p>In late 2015, still in version 1.3.x of ZPE, the Real Math Mode (RMM) parser was added. Syntax changed so that it looked a lot more like other languages:
</p>
<div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span class="nv">$x</span> <span class="o">=</span> <span class="mi">10</span>
<span class="nv">$y</span> <span class="o">=</span> <span class="mi">15</span>

<span class="nv">$z</span> <span class="o">=</span> <span class="nv">$x</span> <span class="o">+</span> <span class="nv">$y</span>

<span class="k">print</span><span class="p">(</span><span class="nv">$z</span><span class="p">)</span>
</pre></div>
<p>To improve performance, the Real Math Mode parser was replaced by the Logical And Mathematical Parser (LAMP) in 2016 and then the Logical And Mathematical Evaluator (LAME) in 2019.<sup id="cite_ref-changelog_7-0" class="reference"><a href="#cite_note-changelog-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p><p>The latest version of LAMEX2 is up to two to five times faster than the first LAME, according to Balfour.<sup id="cite_ref-lamex2_8-0" class="reference"><a href="#cite_note-lamex2-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="YASS_Unfold">YASS Unfold</h3></div>
<p>YASS Unfold is a syntax analyser that can transform syntax into descriptions. YASS Unfold works based on the AST generated from the code to generate code descriptions. <sup id="cite_ref-Jamie_Balfour's_Blog:_YASS_Unfold_9-0" class="reference"><a href="#cite_note-Jamie_Balfour's_Blog:_YASS_Unfold-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Transpilers">Transpilers</h3></div>
<p>ZPE also added transpilers to convert YASS to other languages efficiently. These are distributed as plugins and are available on Balfour's GitHub and personal website.
</p><p>The first transpiler built was the YASS to Python transpiler (known as ZenPy) due to similarities in how both languages work underneath.
</p><p>Transpilers to convert YASS to PHP and Java also exist but are less mature than ZenPy.<sup id="cite_ref-transpilers_10-0" class="reference"><a href="#cite_note-transpilers-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Libraries">Libraries</h3></div>
<p>ZPE/YASS rely on libraries being developed to extend functionality. The main reason behind this is to reduce the size of the main runtime package. Specific libraries are written in the YASS language itself and then compiled. They are then distributed via the ZULE network, which was added in 2018.<sup id="cite_ref-changelog_7-1" class="reference"><a href="#cite_note-changelog-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p><p>Other libraries are written in native Java. For example, the zpe_mysql library adds <a href="MySQL" title="MySQL">MySQL</a> functionalities to the language using a library around six times the size of the original runtime.
</p>
<div class="mw-heading mw-heading2"><h2 id="ZPE_Native">ZPE Native</h2></div>
<p>In August 2022, an AArch64 build was compiled using the <a href="GraalVM" title="GraalVM">GraalVM</a> compiler. This offered performance much better than the JRE version alone. ZPE Native can improve performance considerably but is not cross-platform and is only available on current platforms (this includes an EXE for Windows, a Linux-compatible binary, and the AArch build).
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="List_of_programming_languages" title="List of programming languages">List of programming languages</a></li>
<li><a href="PHP" title="PHP">PHP</a></li></ul>
<p><br>
</p>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;">
<ol class="references">
<li id="cite_note-official_docs-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-official_docs_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.jamiebalfour.scot/projects/zpe/about/">"ZPE Programming Environment information"</a>. <i>ZPE Information</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2019-02-02</span></span>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.jamiebalfour.scot/projects/zpe/documentation/other/changelog/">"ZPE Changelog"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2024-12-19</span></span>.</cite></span>
</li>
<li id="cite_note-what_is-3"><span class="mw-cite-backlink">^ <a href="#cite_ref-what_is_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-what_is_3-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-what_is_3-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-what_is_3-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.jamiebalfour.scot/projects/zpe/documentation/getting-started/what-is-zpe">"What is ZPE?"</a>. <i>ZPE Documentation</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2019-02-02</span></span>.</cite></span>
</li>
<li id="cite_note-docs-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-docs_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-docs_4-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.jamiebalfour.scot/projects/zpe/documentation/">"ZPE Programming Environment documentation"</a>. <i>ZPE Documentation</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2019-02-02</span></span>.</cite></span>
</li>
<li id="cite_note-ifra-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-ifra_5-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.ifra.org.uk/about/site/">"About this website"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2020-07-24</span></span>.</cite></span>
</li>
<li id="cite_note-python-transpiler-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-python-transpiler_6-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.jamiebalfour.scot/blog/posts/yass-python-transpiler-progress">"Jamie Balfour's Blog: YASS-Python Transpiler Progress"</a>. <i>Jamie Balfour's Blog</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2024-06-02</span></span>.</cite></span>
</li>
<li id="cite_note-changelog-7"><span class="mw-cite-backlink">^ <a href="#cite_ref-changelog_7-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-changelog_7-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.jamiebalfour.scot/projects/zpe/documentation/other/changelog/">"ZPE Changelog&nbsp;: ZPE Programming Environment Documentation&nbsp;:: jamiebalfour.scot"</a>. <i>ZPE Documentation</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2019-03-10</span></span>.</cite></span>
</li>
<li id="cite_note-lamex2-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-lamex2_8-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.jamiebalfour.scot/blog/posts/lame-x2">"LAME X2&nbsp;:: jamiebalfour.scot"</a>. <i>Jamie Balfour's Blog</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2024-12-16</span></span>.</cite></span>
</li>
<li id="cite_note-Jamie_Balfour's_Blog:_YASS_Unfold-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-Jamie_Balfour's_Blog:_YASS_Unfold_9-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.jamiebalfour.scot/blog/posts/yass-unfold">"Jamie Balfour's Blog: YASS Unfold"</a>. <i>Jamie Balfour's Blog</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2023-10-06</span></span>.</cite></span>
</li>
<li id="cite_note-transpilers-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-transpilers_10-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.jamiebalfour.scot/blog/posts/my-python-transpiler-for-yass-is-now-zenpy">"Jamie Balfour's Blog: My Python transpiler for YASS is now ZenPy.&nbsp;:: jamiebalfour.scot"</a>. <i>Jamie Balfour's Blog</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2024-06-29</span></span>.</cite></span>
</li>
</ol></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-04-02" href="https://en.wikipedia.org/wiki/?title=ZPE_Programming_Environment&amp;oldid=1283648608">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>